Studied many courses from those 3NF to uncertainty database on database, I am totally not hands on in this field. I wrote less than 10 sqls last year that require JOIN or so.
For my not-much-progress master project I will need to work harder on this I believe. From indexing, clustering, storing index etc. afterall the app is to manage data.
Something on this weekend:
1) Setting connection with Postgresql x Hibernate x Play is quicker than expected . Sometimes these kind of setup can ruin your week.
- set deps in build.scala postgres driver & hibernate
“org.hibernate” % “hibernate-entitymanager” % “3.6.9.Final”, “postgresql” % “postgresql” % “9.1-901.jdbc4”
- add into app.conf db.default.url=”postgres://admin:password@localhost/dbname”
- For jpa add persistence.xml into conf/META-INF define the defaultPersistenceUnit 1.
- For jpa add into app.conf jpa.default=defaultPersistenceUnit
2) Meanwhile, Hibernate & jpa is more complicated than I thought.
Managing those many-to-one entity relationships is definitely no easy. Especially on older version (3.x & jpa 1), there were Many xmls & duplicated boilerplate to define them. The documentation is also sometimes hard to find.
To say that again, It is never a must for people switching from relational to ORM or noSql.
For my master project I drilled down Hibernate Search a bit previously. I should revise those database stuff again..
3) this situation comes again:
so I forget how to draw er diagram. Then I google to see what syntax to follow. After all I wonder
should I draw a domain model or simply an er diagram…. this time the context being you are using hibernate.
4) In my both my work & my hobby project I need to prepare some static data for testing.
Doing that with transactional jpa is a bit problematic as someone said.
The “Fixture” functions in play 1.x has been missing in 2.0. It was using YAML to load data via java api , and this seems to be nicely doable with some other tools now anyway (Sneakyaml +Dbunit)
Dbunit seems worth a try. Extension of JUnit allow you to import/export data from/to your database.
Applying in company, this rare case I feel using XML for this quite comfortable.