private void buildHierarchyColumnOverride(XClass element) {
XClass current = element;
Map<String, Column[]> columnOverride = new HashMap<String, Column[]>();
Map<String, JoinColumn[]> joinColumnOverride = new HashMap<String, JoinColumn[]>();
Map<String, JoinTable> joinTableOverride = new HashMap<String, JoinTable>();
while ( current != null && !mappings.getReflectionManager().toXClass( Object.class ).equals( current ) ) {
if ( current.isAnnotationPresent( Entity.class ) || current.isAnnotationPresent( MappedSuperclass.class )
|| current.isAnnotationPresent( Embeddable.class ) ) {
//FIXME is embeddable override?
Map<String, Column[]> currentOverride = buildColumnOverride( current, getPath() );
Map<String, JoinColumn[]> currentJoinOverride = buildJoinColumnOverride( current, getPath() );
Map<String, JoinTable> currentJoinTableOverride = buildJoinTableOverride( current, getPath() );
currentOverride.putAll( columnOverride ); //subclasses have precedence over superclasses
currentJoinOverride.putAll( joinColumnOverride ); //subclasses have precedence over superclasses
currentJoinTableOverride.putAll( joinTableOverride ); //subclasses have precedence over superclasses
columnOverride = currentOverride;
joinColumnOverride = currentJoinOverride;
joinTableOverride = currentJoinTableOverride;
}
current = current.getSuperclass();
}
holderColumnOverride = columnOverride.size() > 0 ? columnOverride : null;
holderJoinColumnOverride = joinColumnOverride.size() > 0 ? joinColumnOverride : null;
holderJoinTableOverride = joinTableOverride.size() > 0 ? joinTableOverride : null;
}
java类javax.persistence.JoinColumn的实例源码
AbstractPropertyHolder.java 文件源码
项目:lams
阅读 39
收藏 0
点赞 0
评论 0
JPAOverriddenAnnotationReader.java 文件源码
项目:lams
阅读 37
收藏 0
点赞 0
评论 0
private void getCollectionTable(List<Annotation> annotationList, Element element, XMLContext.Default defaults) {
Element subelement = element != null ? element.element( "collection-table" ) : null;
if ( subelement != null ) {
AnnotationDescriptor annotation = new AnnotationDescriptor( CollectionTable.class );
copyStringAttribute( annotation, subelement, "name", false );
copyStringAttribute( annotation, subelement, "catalog", false );
if ( StringHelper.isNotEmpty( defaults.getCatalog() )
&& StringHelper.isEmpty( (String) annotation.valueOf( "catalog" ) ) ) {
annotation.setValue( "catalog", defaults.getCatalog() );
}
copyStringAttribute( annotation, subelement, "schema", false );
if ( StringHelper.isNotEmpty( defaults.getSchema() )
&& StringHelper.isEmpty( (String) annotation.valueOf( "schema" ) ) ) {
annotation.setValue( "schema", defaults.getSchema() );
}
JoinColumn[] joinColumns = getJoinColumns( subelement, false );
if ( joinColumns.length > 0 ) {
annotation.setValue( "joinColumns", joinColumns );
}
buildUniqueConstraints( annotation, subelement );
buildIndex( annotation, subelement );
annotationList.add( AnnotationFactory.create( annotation ) );
}
}
AbstractPropertyHolder.java 文件源码
项目:lams
阅读 43
收藏 0
点赞 0
评论 0
/**
* Get column overriding, property first, then parent, then holder
*/
private JoinColumn[] getExactOverriddenJoinColumn(String propertyName) {
JoinColumn[] override = null;
if ( parent != null ) {
override = parent.getExactOverriddenJoinColumn( propertyName );
}
if ( override == null && currentPropertyJoinColumnOverride != null ) {
override = currentPropertyJoinColumnOverride.get( propertyName );
}
if ( override == null && holderJoinColumnOverride != null ) {
override = holderJoinColumnOverride.get( propertyName );
}
return override;
}
Ejb3JoinColumn.java 文件源码
项目:lams
阅读 36
收藏 0
点赞 0
评论 0
public static Ejb3JoinColumn[] buildJoinColumns(
JoinColumn[] anns,
String mappedBy,
Map<String, Join> joins,
PropertyHolder propertyHolder,
String propertyName,
Mappings mappings) {
return buildJoinColumnsWithDefaultColumnSuffix(
anns, mappedBy, joins, propertyHolder, propertyName, "", mappings
);
}
GoodsType8JPA.java 文件源码
项目:tinyshop8
阅读 37
收藏 0
点赞 0
评论 0
@ManyToOne(targetEntity = GoodsType8JPA.class, cascade = ALL,
fetch = EAGER)
@JoinColumn(name = "parent_id", foreignKey =
@ForeignKey(name = "fk_parent"))
public GoodsType8JPA getParentType()
{
return parentType;
}
EntityManager.java 文件源码
项目:financisto1-holo
阅读 44
收藏 0
点赞 0
评论 0
private static EntityDefinition parseDefinition(Class<?> clazz) {
if (!clazz.isAnnotationPresent(Entity.class)) {
throw new IllegalArgumentException("Class "+clazz+" is not an @Entity");
}
EntityDefinition.Builder edb = new EntityDefinition.Builder(clazz);
try {
Constructor<?> constructor = clazz.getConstructor();
edb.withConstructor(constructor);
} catch (Exception e) {
throw new IllegalArgumentException("Entity must have an empty constructor");
}
if (clazz.isAnnotationPresent(Table.class)) {
Table tableAnnotation = clazz.getAnnotation(Table.class);
edb.withTable(tableAnnotation.name());
}
Field[] fields = clazz.getFields();
if (fields != null) {
int index = 0;
for (Field f : fields) {
if ((f.getModifiers() & Modifier.STATIC) == 0) {
if (f.isAnnotationPresent(Id.class)) {
edb.withIdField(parseField(f));
} else {
if (f.isAnnotationPresent(Transient.class)) {
continue;
} else if (f.isAnnotationPresent(JoinColumn.class)) {
JoinColumn c = f.getAnnotation(JoinColumn.class);
edb.withField(FieldInfo.entity(index++, f, c.name(), c.required()));
} else {
edb.withField(parseField(f));
}
}
}
}
}
return edb.create();
}
JPAOverriddenAnnotationReader.java 文件源码
项目:lams
阅读 43
收藏 0
点赞 0
评论 0
private void buildJoinColumns(List<Annotation> annotationList, Element element) {
JoinColumn[] joinColumns = getJoinColumns( element, false );
if ( joinColumns.length > 0 ) {
AnnotationDescriptor ad = new AnnotationDescriptor( JoinColumns.class );
ad.setValue( "value", joinColumns );
annotationList.add( AnnotationFactory.create( ad ) );
}
}
User.java 文件源码
项目:aws-photosharing-example
阅读 38
收藏 0
点赞 0
评论 0
@XmlTransient
@LazyCollection(LazyCollectionOption.EXTRA)
@ManyToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
@JoinTable(name = "role_mappings", joinColumns = {
@JoinColumn(name = "user_id", nullable = false, updatable = false) },
inverseJoinColumns = { @JoinColumn(name = "role",
nullable = false, updatable = false) })
public List<Role> getRoles() {return _roles;}
User.java 文件源码
项目:tianti
阅读 35
收藏 0
点赞 0
评论 0
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "org_user_role_rel",
joinColumns = {@JoinColumn(name = "user_id")},
inverseJoinColumns = {@JoinColumn(name = "role_id")})
@Where(clause="delete_flag=0")
@OrderBy("no")
public Set<Role> getRoles() {
return roles;
}
LanguageString.java 文件源码
项目:Equella
阅读 38
收藏 0
点赞 0
评论 0
@JoinColumn(nullable = false)
@ManyToOne(fetch = FetchType.LAZY)
@Index(name = "bundleIndex")
public LanguageBundle getBundle()
{
return bundle;
}
GoodsType8JPA.java 文件源码
项目:tinyshop8
阅读 44
收藏 0
点赞 0
评论 0
@OneToMany(targetEntity = Goods8JPA.class, cascade = ALL,
fetch = EAGER)
@JoinColumn(name = "join_goods_type_m2o", foreignKey =
@ForeignKey(name = "fk_goods_type_m2o"))
@JoinTable(name = "jpa_goods_type_set", foreignKey =
@ForeignKey(name = "fk_jpa_goods_type_set"))
public Set<Goods8JPA> getGoods8JPASet()
{
return goods8JPASet;
}
VisitorEntity.java 文件源码
项目:oasp-tutorial-sources
阅读 35
收藏 0
点赞 0
评论 0
/**
* @return code
*/
@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "idCode")
public AccessCodeEntity getCode() {
return this.code;
}
QCustomer.java 文件源码
项目:sbc-qsystem
阅读 37
收藏 0
点赞 0
评论 0
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "service_id")
public QService getService() {
return service;
}
SendmailAttachment.java 文件源码
项目:lemon
阅读 34
收藏 0
点赞 0
评论 0
/** @return null. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TEMPLATE_ID")
public SendmailTemplate getSendmailTemplate() {
return this.sendmailTemplate;
}
OrderDetail.java 文件源码
项目:GitHub
阅读 47
收藏 0
点赞 0
评论 0
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="productCode", nullable=false, insertable=false, updatable=false)
@JsonBackReference("order-product")
public Product getProduct() {
return this.product;
}
TaskLog.java 文件源码
项目:lemon
阅读 32
收藏 0
点赞 0
评论 0
/** @return 外键,任务. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TASK_ID")
public TaskInfo getTaskInfo() {
return this.taskInfo;
}
Employee.java 文件源码
项目:DocIT
阅读 35
收藏 0
点赞 0
评论 0
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="did", nullable=false)
public Department getDepartment() {
return this.department;
}
CmsCatalog.java 文件源码
项目:lemon
阅读 30
收藏 0
点赞 0
评论 0
/** @return null. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "SITE_ID")
public CmsSite getCmsSite() {
return this.cmsSite;
}
ReportDim.java 文件源码
项目:lemon
阅读 64
收藏 0
点赞 0
评论 0
/** @return null. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "QUERY_ID")
public ReportQuery getReportQuery() {
return this.reportQuery;
}
Article.java 文件源码
项目:tianti
阅读 36
收藏 0
点赞 0
评论 0
@ManyToOne
@JoinColumn(name = "root_column_info_id")
public ColumnInfo getRootColumnInfo() {
return rootColumnInfo;
}
WhitelistService.java 文件源码
项目:lemon
阅读 31
收藏 0
点赞 0
评论 0
/** @return null. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PACKAGE_ID")
public WhitelistPackage getWhitelistPackage() {
return this.whitelistPackage;
}
BookBorrow.java 文件源码
项目:lemon
阅读 37
收藏 0
点赞 0
评论 0
/** @return null. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "INFO_ID")
public BookInfo getBookInfo() {
return this.bookInfo;
}
WorkReportAttachment.java 文件源码
项目:lemon
阅读 34
收藏 0
点赞 0
评论 0
/** @return null. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "INFO_ID")
public WorkReportInfo getWorkReportInfo() {
return this.workReportInfo;
}
BpmConfRule.java 文件源码
项目:lemon
阅读 37
收藏 0
点赞 0
评论 0
/** @return 外键,配置节点. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "NODE_ID")
public BpmConfNode getBpmConfNode() {
return this.bpmConfNode;
}
VendorPart.java 文件源码
项目:tap17-muggl-javaee
阅读 38
收藏 0
点赞 0
评论 0
@JoinColumn(name="VENDORID")
@ManyToOne
public Vendor getVendor() {
return vendor;
}
BpmTaskDef.java 文件源码
项目:lemon
阅读 33
收藏 0
点赞 0
评论 0
/** @return null. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PROCESS_ID")
public BpmProcess getBpmProcess() {
return this.bpmProcess;
}
BpmTaskDefNotice.java 文件源码
项目:lemon
阅读 33
收藏 0
点赞 0
评论 0
/** @return null. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TEMPLATE_ID")
public BpmMailTemplate getBpmMailTemplate() {
return this.bpmMailTemplate;
}
TemplateField.java 文件源码
项目:lemon
阅读 34
收藏 0
点赞 0
评论 0
/** @return null. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "INFO_ID")
public TemplateInfo getTemplateInfo() {
return this.templateInfo;
}
BpmProcess.java 文件源码
项目:lemon
阅读 34
收藏 0
点赞 0
评论 0
/** @return 外键,流程配置. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "CONF_BASE_ID")
public BpmConfBase getBpmConfBase() {
return this.bpmConfBase;
}
BpmConfNotice.java 文件源码
项目:lemon
阅读 37
收藏 0
点赞 0
评论 0
/** @return 外键,模板. */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "TEMPLATE_ID")
public BpmMailTemplate getBpmMailTemplate() {
return this.bpmMailTemplate;
}