Guest User

Untitled

a guest
Dec 1st, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. import org.squeryl.annotations.Column
  2. import org.squeryl.PrimitiveTypeMode._
  3. import org.squeryl.{ Session, SessionFactory, Schema, KeyedEntityDef }
  4. import org.squeryl.adapters.{ PostgreSqlAdapter }
  5. import java.util.Date
  6.  
  7. object KeyedEntityDefsExample extends App {
  8.  
  9. class Member (
  10. val name: String,
  11. val instrument: String
  12. ) {
  13. override def toString = "Member(%s, %s, %s)".format(id, name, instrument)
  14. val id: Int = 0
  15. }
  16.  
  17. object Beatles extends Schema {
  18.  
  19. implicit object BeatlesKED extends KeyedEntityDef[Member, Int] {
  20. def getId(a: Member) = a.id
  21. def isPersisted(a: Member) = a.id > 0
  22. def idPropertyName = "id"
  23. }
  24.  
  25. val member = table[Member]("member")
  26. }
  27.  
  28. Class.forName("org.postgresql.Driver");
  29.  
  30. def session = Session.create(
  31. java.sql.DriverManager.getConnection("jdbc:postgresql://localhost/beatles", "toshi", ""),
  32. new PostgreSqlAdapter {
  33. override def usePostgresSequenceNamingScheme: Boolean = true
  34. }
  35. )
  36.  
  37. transaction(session) {
  38. val john = Beatles.member.insert(new Member("john", "guitar"))
  39. val paul = Beatles.member.insert(new Member("paul", "bass"))
  40. val george = Beatles.member.insert(new Member("George", "guitar"))
  41. val ringo = Beatles.member.insert(new Member("Ringo", "drums"))
  42. println(john)
  43. println(paul)
  44. println(george)
  45. println(ringo)
  46. /*
  47. Member(1, john, guitar)
  48. Member(2, paul, bass)
  49. Member(3, George, guitar)
  50. Member(4, Ringo, drums)
  51. */
  52. }
  53.  
  54. }
Add Comment
Please, Sign In to add comment