On Friday, 6 February 2015 at 09:42:09 UTC, zhmt wrote:
class Card
{
import hibernated.core;
@Id
@Generated
long id;
@UniqueKey
string pwd;
}
MySQLDriver driver = new MySQLDriver();
string url = MySQLDriver.generateUrl("10.211.55.10", 3306,
"test");
string[string] params = MySQLDriver.setUserAndPassword("root",
"xxx");
auto ds = new ConnectionPoolDataSourceImpl(driver, url,
params);
EntityMetaData schema = new SchemaInfoImpl!(Card);
Dialect dialect = new MySQLDialect();
auto factory = new SessionFactoryImpl(schema, dialect, ds);
Card c = new Card;
auto s = factory.openSession();
scope(exit) s.close();
s.save(c);
Here is the simplest example, but it complains the same error.
OK,
Before the call
"auto s = factory.openSession();"
Does de mysql db has a db called 'test' and a table called 'card'
with columns named 'id' and 'pwd'? If not call:
"factory.getDBMetaData().updateDBSchema( conn, true, true );"
verify the table is created in mysql.
After create call:
"factory.openSession();"
...
If things are still failing take a look here:
https://github.com/buggins/hibernated/blob/master/hdtest/source/htestmain.d
This is a simple program testing some basic functions of
hibernated. Try it with sqlite first after that add a mysql
section and try again.