您的位置:首页 > 其它

动态实体、动态字段设计

2013-09-06 17:24 225 查看
package com.wxl.app.domain;

public class FieldType {
private Long id;
private String name;

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}


package com.wxl.app.domain;

import java.util.Set;
import java.util.TreeSet;

public class Entity {
private Long id;
private String name;
private String table;
private Set<Field> fields = new TreeSet<Field>();

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getTable() {
return table;
}

public void setTable(String table) {
this.table = table;
}

public Set<Field> getFields() {
return fields;
}

public void setFields(Set<Field> fields) {
this.fields = fields;
}

}


package com.wxl.app.domain;

public class Field {
private Long id;
private String label;
private String name;
private FieldType type;
private Entity entity;

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getLabel() {
return label;
}

public void setLabel(String label) {
this.label = label;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public FieldType getType() {
return type;
}

public void setType(FieldType type) {
this.type = type;
}

public Entity getEntity() {
return entity;
}

public void setEntity(Entity entity) {
this.entity = entity;
}

}


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
SYSTEM
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" >

<hibernate-mapping>

<class name="com.wxl.app.domain.FieldType" table="d_field_types">
<id name="id" column="t_id">
<generator class="sequence" />
</id>
<property name="name" column="t_name" type="string" />
</class>

</hibernate-mapping>


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
SYSTEM
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" >

<hibernate-mapping>

<class name="com.wxl.app.domain.Entity" table="d_entities">
<id name="id" column="e_id">
<generator class="sequence" />
</id>
<property name="name" column="e_name" type="string" />
<property name="table" column="e_table" type="string"></property>
<set name="fields">
<key column="entity_id"></key>
<one-to-many class="com.wxl.app.domain.Field" />
</set>
</class>

</hibernate-mapping>


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
SYSTEM
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd" >

<hibernate-mapping>

<class name="com.wxl.app.domain.Field" table="d_fields">
<id name="id" column="f_id">
<generator class="sequence" />
</id>
<property name="label" column="f_label" type="string"></property>
<property name="name" column="f_name" type="string"></property>
<many-to-one name="entity" column="entity_id"
class="com.wxl.app.domain.Entity"></many-to-one>
<many-to-one name="type" column="type_id"
class="com.wxl.app.domain.FieldType"></many-to-one>
</class>

</hibernate-mapping>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: