Ormlite - Konstruktoraufruf schlägt fehl, wenn BaseDaoImpl erweitert wird
Ich habe die folgenden Tabellen -
<code>@DatabaseTable(tableName="b", daoClass=B_DaoImpl.class) public class B { @DatabaseField public String b1 ; public B(){ // For Ormlite } } @DatabaseTable(tableName="a", daoClass=A_DaoImpl.class) public class A { @DatabaseField public String a1 ; @DatabaseField(foreign=true) public B b; public A(){ // For Ormlite } } </code>
Für diese Tabellen lauten die zugeordneten Dao und DaoImpl wie folgt
<code>public interface A_Dao extends Dao<A, String>{} public interface B_Dao extends Dao<B, String>{} public class B_DaoImpl extends BaseDaoImpl<User, String> implements B_Dao { public B_DaoImpl(ConnectionSource connectionSource) throws SQLException { super(connectionSource, B.class); } } public class A_DaoImpl extends BaseDaoImpl<User, String> implements A_Dao { public A_DaoImpl(ConnectionSource connectionSource) throws SQLException { super(connectionSource, A.class); } } </code>
Der Datenbank-Helfer sieht wie folgt aus:
<code> public class DatabaseHelperImpl extends OrmLiteSqliteOpenHelper implements DatabaseHelper { private A_DaoImpl aDao = null; private B_DaoImpl bDao = null; public B_DaoImpl getBDao() throws SQLException { if (bDao == null) { bDao = getDao(B.class); } return bDao; } public A_DaoImpl getA() throws SQLException { if (aDao == null ) { aDao = getDao(A.class); } return aDao; } } </code>
Nun, wenn ich versuche anzurufen -
<code>ADao aDao = databaseHelper.getA(); </code>
Es tritt ein Fehler mit dem folgenden Fehler auf:
<code> Could not call the constructor in class class A_DaoImpl </code>
Nun, wenn ich nicht den falschen Schlüssel in A habe - dh wenn A nicht enthältöffentlich B b, es funktioniert gut. Fehlt mir hier etwas?
Vielen Dank im Voraus.