eclipse Duplicate generator named “ID_GENERATOR” defined in this persistence unit

霸气de小男生 提交于 2019-12-01 16:58:02

问题


I'm currently having this issue which I don't have before I migrated to eclipse-jee-kepler. What I have:

I have 2 classes, base and the extending class:

public abstract class BaseEntity implements Serializable {
    @Id
    @GeneratedValue(generator = "ID_GENERATOR")
    @Column(name = "ID")
    private Long id;
}

@Entity
@Table(name = "CUSTOMER")
@SequenceGenerator(name = "ID_GENERATOR", sequenceName = "CUSTOMER_SEQ")
public class Customer extends BaseEntity {
}

Before I don't have this validation error but now eclipse is throwing it. I can compile, build and deploy successfully but the error marker is making it hard to pinpoint the compile errors when you really have one.

The error seems obvious, it's because I have ID_GENERATOR on all the extending classes. My question: 1.) Can I ignore this error? 2.) Any work around? Possibly using a different approach.


回答1:


I figured the problem, it was more of an eclipse JPA validation setting. To disable:

  1. Select Window » Preferences
  2. Expand Java Persistence » JPA » Errors/Warnings
  3. Click Queries and generators
  4. Set Duplicate generator defined to: Ignore
  5. Click OK to apply changes and close the dialog

You can also set the value to Warning instead of Ignore.




回答2:


For MyEclipse

1.Windows->Preferences

2.Myeclipse->Validation->JPA

3.Queries and generators

Generators is not defined in the persistence unit;




回答3:


The generator's name must to be unique by generator and it can be referenced by one or more classes.

The javadoc clearly says:

(Required) A unique generator name that can be referenced by one or more classes to be the generator for primary key values.

According to the java JPA 2.1 specification (SequenceGenerator Annotation of the JPA 2.1 - section 11.1.48):

The scope of the generator name is global to the persistence unit (across all generator types)



来源:https://stackoverflow.com/questions/20941191/eclipse-duplicate-generator-named-id-generator-defined-in-this-persistence-uni

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!