您好,我对 Scala 相当陌生。
我想学习 Scala,因为:
- 摆脱 Java 中的样板代码。
- 玩不同的范式。
- 只是为了学习新事物的乐趣
我正在关注戏剧网站上的教程。
下面是教程代码:
Player.create(Player(Id(1), "bob@gmail.com", "secret", "Bob", false))
Post.create(Post(NotAssigned, "My 1st post", "Hello world", new Date, 1))
为了获得更深入的知识,我尝试并修改了示例。
我决定不给 Player 一个预定义的 ID,而是让 MySql 分配它。
在 MySql 中,我将 Player id 定义为 int,但 Post id 定义为 long。// 我稍后会改变它,但对于这个例子来说它很重要。
但令我震惊的是我的做法,看看第二排。这根本不是优雅的。
val player = Player.create(Player(NotAssigned, "bob@gmail.com", "secret", "Bob", false))
val id = player.get.id.get.get.asInstanceOf[Number].intValue()
Post.create(Post(NotAssigned, "My 1st post", "Hello world", new Date, id)
现在我的问题是如何以一种不那么荒谬的方式从创建的玩家那里获得 Id 作为 int ?