QuarkusのHibernate ORM with Panacheでid不要ならPanacheEntityBaseを使う

Quarkusを試していて、Hibernate ORM with Panacheを使ってみると、ちょっとハマった。

こんな感じのEntityクラスを作った。

@Entity
@Table(name = "users")
@Data
public class User extends PanacheEntity {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "user_id")
    private Long userId;

    @Column(name = "user_name")
    private String userName;

   ...

そうするとUser.listAll()を呼び出したときにこんなエラー。idフィールドがないと言ってる。

Caused by: org.postgresql.util.PSQLException: ERROR: column user0_.id does not exist

いろいろ試したのだけど、なんのことはない、PanacheEntityidが定義されているので、代わりにPanacheEntityBaseを使えばよかった。

@Entity
@Table(name = "users")
@Data
public class User extends PanacheEntityBase {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "user_id")
    private Long userId;

    @Column(name = "user_name")
    private String userName;

   ...