Yes, I made mistake when I was copying code. The class of course looks like 
this: public class TriggerBeforeInsert implements Trigger. The rest is 
unchanged. 

W dniu niedziela, 4 sierpnia 2019 17:48:40 UTC+2 użytkownik Piotr napisał:
>
> I'm Trying to create an H2 Trigger which should trigger before an Insert 
> query is executed. My Entity looks like this:
>
> @Entity
> @Table(name="Notes")
> public class Notes {
> @Id
> @GeneratedValue(strategy=GenerationType.SEQUENCE)
> @Column(name="id")
> private int id;
> @Column(name="version")
> private int version;
> }
>
> I've created trigger:
>
> CREATE TRIGGER update_date Before INSERT ON notes FOR EACH ROW CALL 
> TriggerBeforeInsert.class.getName()
>
> I would like to set the version field to 1 whenever a new record is 
> inserted. Here is the code for the Trigger:
>
> public class TriggerBeforeUpdate implements Trigger {
>
> @Override
> public void init(Connection connection, String s, String s1, String s2, 
> boolean b, int i) throws SQLException {
>
> }
>
> @Override
> public void fire(Connection connection, Object[] oldRow, Object[] newRow) 
> throws SQLException {
>     newRow[1] = 1;
> }
>
> @Override
> public void close() throws SQLException {
>
> }
>
> @Override
> public void remove() throws SQLException {
>
> }
> }
>
> And when I put a new record in the "notes" table, the trigger is called 
> but unfortunately the version field does not change the value. It works 
> only if I changes the id field and the version field like this:
>
> @Override
> public void fire(Connection connection, Object[] oldRow, Object[] newRow) 
> throws SQLException {
>     newRow[0] = 2 // any value differs from the current value
>     newRow[1] = 1;
> }
>
> But this is not what I expects. What should I change to make the program 
> work?
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/h2-database/cce0f657-0f75-44c7-ad7e-d7d84e795411%40googlegroups.com.

Reply via email to