Hallo!
Ich habe folgendes Problem und komme dabei einfach nicht richtig weiter.
Ich möchte im Prinzip *nur* meine HibernateConfiguration *programatisch*
erweitern. Das klappt aber nur bedingt.
Quote:
<many-to-one class="de.test.platform.TestEntity" fetch="select" name="schwfirma">
<column name="user_id"/>
</many-to-one>
Diesen Block möchte ich als Code verfassen.
Da aber die API unvollständig dokumentiert ist, komme ich einfach nicht weiter.
Ich wäre froh, könnte mir jemand helfen!
So habe ich angefangen:
(Constraints und Spalten werden richtig angelegt, nur habe ich irgendetwas anderes falsch gemacht, sodas ich nun einen Hinweis bekomme (im createSessionFactory) das user_id nicht vorhanden ist)
Code:
ManyToOne v = new ManyToOne(t);
//v.setTypeName(p_type);
v.setTable(t);
v.setFetchMode(FetchMode.SELECT);
v.setReferencedEntityName("de.test.TestEntity");
v.setLazy(true);
v.setUnwrapProxy(false);
Column col = new Column("user_id");
col.setNullable(true);
col.setUnique(false);
if (p_length != null)
col.setLength(p_length);
v.addColumn(col);
v.setEmbedded(true);
v.setIdentifierGeneratorStrategy("assigned");
col.setValue(v);
Column mycol = new Column(colNameInDB);
mycol.setNullable(true);
mycol.setUnique(false);
mycol.setValue(v);
if (p_length != null)
mycol.setLength(p_length);
t.addColumn(mycol);
List l = new ArrayList<Column>();
l.add(mycol);
t.createForeignKey(null,l, "de.test.TestEntity");
Property p = new Property();
p.setGeneration(PropertyGeneration.NEVER);
p.setLazy(false);
p.setOptional(true);
p.setValue(v);
p.setName(fieldName);
p.setNodeName(fieldName);
p.setPropertyAccessorName("property");
p.setCascade("none");
p.setUpdateable(false);
p.setInsertable(false);
p.setSelectable(true);
p_persistenClass.addProperty(p);
Hat jemand eine Idee, wie man mit den Klassen:
- ManyToOne
- Property
- Column
umzugehen hat?