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 h2-database+unsubscr...@googlegroups.com.
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