Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using @GenericGenerator in a package level annotation

I'm trying to create a @GenericGenerator annotation at the package level so it can be used by all the entities in the package.

1) I have a package-info.java class with the annotation:

@org.hibernate.annotations.GenericGenerator(name="unique_id", strategy="uuid")  
package com.sample.model;

2) In that same package, I have an entity with the following attribute:

@Id  
@GeneratedValue(generator="unique_id")  
@Column(name="userid")  
public String userID() {  
    return userID;  
}  

This is resulting in an exception "Unknown Id.generator: unique_id". If I include the @GenericGenerator annotation in the entity class, it works fine. However, I want to move this to the package level so I can reuse it in other entities.

Any ideas where the disconnect could be?

Thanks!

like image 302
Paul Avatar asked Jan 20 '11 01:01

Paul


1 Answers

I know that this post may be old ... but I searched for the solution of that problem and I found a solution that worked for me. So I'll post it here in case it would be helpful for someone :

I forgot to add the package level information in the cfg.xml

Maybe you should add this line in your cfg.xml :

<mapping package="com.sample.model"/>

It worked for me :)

like image 184
Cédric VIDREQUIN Avatar answered Sep 21 '22 17:09

Cédric VIDREQUIN