JPA什么时候设置@GeneratedValue @Id

我有一个简单的JPA实体,它使用生成的“ID”作为主键: @Entity public class Player { private long id; protected Player() { // Do nothing; id defaults to 0L } @GeneratedValue @Id public long getId() { return id; } protected void setId(final long id) { this.id = id; } // Other code } 在这种types的对象的生命周期的某个时刻,JPA必须调用setId()来logging生成的ID值。 我的问题是,这是什么时候发生的,以及说明这一点的文档在哪里 。 我查看了JPA规范,找不到明确的声明。 JPA规范说(重点补充): 托pipe实体实例是具有持久性标识的实例,当前与持久性上下文相关联。 那是不是试图说这个对象必须被pipe理来使其@Id有意义? EntityManager.persist()的文档说(强调添加)它使“一个实例pipe理和持久化”,所以这意味着@Id是由该方法设置? 或者直到你打电话给EntityTransaction.commit() ? 设置@Id对于不同的JPA提供者可能会有所不同,也可能是针对不同的生成策略。 但是,对于已经设定的生命周期中的最早点,您可以做出哪些最安全的(便携式,符合规范的)假设?

我应该返回0或1成功的function?

可能重复: 在C代码中处理错误 你应该使用C中的失败函数调用什么样的返回值? 我总是使用0,但是它在if,while等等中不可读 我应该返回1吗? 为什么main函数返回成功?

为eclipse设置Android支持包v7 – GridLayout

我一直试图这个晚上无济于事,所以我要从头开始列出我的确切步骤。 我已经通过SDKpipe理器安装了支持包。 我创build了一个新的android项目,我称之为“testinggridlayout”。 我select的构build目标是Android 2.1 API 7。 项目清单 这将是我想要能够创build网格布局的项目。 设置支持包这些是我的步骤: 右键单击我刚刚创build的项目,然后select“新build” – “Android项目” 将其命名为GridLayout并从现有源中select创build项目并浏览至: Android的软件开发工具包\演员\机器人\ SUPPORT \ V7 \网格布局 右键单击我的testinggridlayout项目,然后单击属性: 在Java Build Path下 – selectProjects选项卡,然后selectAdd。 select我的项目“GridLayout”,然后单击确定,然后确定。 在此刻 如果我进入main.xml布局手动插入此代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <GridLayout android:background="#FFFFFF" android:layout_width="wrap_content" android:layout_height="wrap_content" android:columnCount="8" android:rowCount="5" > </GridLayout> </LinearLayout> 我得到的错误: 无法find以下类: – GridLayout(修复构buildpath,编辑XML)。 如果我改变了 <GridLayout> & </GridLayout> 至 […]

如何通过谷歌驱动器API使用刷新令牌生成访问令牌?

我已完成授权步骤并获得访问令牌和刷新令牌。 接下来我应该如何使用我已经通过谷歌驱动器API存储的刷新令牌来生成访问令牌? 因为我在Force.com上工作,所以我不能使用任何sdk,所以请build议直接通过API实现的方式。

Java线程转储:“等待locking”和“停车等待”之间的区别?

在Java线程转储中,您可以看到堆栈跟踪中提到的锁。 似乎有三种信息: 1: – locked <0x00002aab329f7fa0> (a java.io.BufferedInputStream) 2: – waiting to lock <0x00002aaaf4ff6fa0> (a org.alfresco.repo.lock.LockServiceImpl) 3: – parking to wait for <0x00002aaafbf70bb8> (a java.util.concurrent.SynchronousQueue$TransferStack) 1:线程已获得对象0x00002aab329f7fa0的locking。 2&3:似乎说线程正在等待所述对象的locking变为可用… 但是2和3有什么区别?

如何手动编写和执行Windows .exe(带hex编辑器的机器码)?

我想知道如何使用hex编辑器来编写像Hello World程序一样简单的东西。 我知道我可以在一个接近机器级的地方使用汇编语言和汇编语言,但是我只是想尝试在一个玩具例如Hello World中编写机器代码。 这可能是一个简单的DOS .COM文件,我可以在DOSBox上运行。 但是,如果有人能够提供一个.EXE文件的例子来直接在我的Windows PC上运行它,那将会很好。 这只是纯粹的好奇心。 不,我没有直接用二进制机器代码编写程序(我通常不会编写汇编代码,大多数时候我只是把C / C ++当作我最低级的工具)。 我只是想看看是否有可能做到这一点,因为可能有人必须在电脑的早期做到这一点。 PS:我知道有关于这个话题的类似问题,但没有提供一个工作的例子。 我只是想要一个简单的例子,以便它可以帮助我理解编译器和汇编程序如何生成可执行文件。 我的意思是……在过去的第一个节目中,有人必须亲手做这个事情。 另外,对于Windows EXE格式,微软必须有人写下第一个工具来生成格式,以及Windows自己读取它的方式,然后执行它。

iOS推送通知 – 当您点击应用程序图标而不是通知时如何获取通知数据

类似于这个问题: 如何访问applicationDidBecomeActive上的远程推送通知数据? 但是不同之处在于,如何在applicationDidBecomeActive访问通知数据,以及是否单击了应用程序图标而不是推送通知。 stream程如下:如果点击push notification则会触发didReceiveRemoteNotification ,但是如果您单击原始应用程序图标,则只会触发applicationDidBecomeActive并且不会调用didReceiveRemoteNotification 。 我正在寻找后面的情况,所以我如何访问推送通知数据。 (这两种情况下,假设应用程序在后台,并没有被杀害。)

为什么Thread.CurrentPrincipal需要“等待Task.Yield()”?

下面的代码被添加到新创build的Visual Studio 2012 .NET 4.5 WebAPI项目中。 我试图在asynchronous方法中分配HttpContext.Current.User和Thread.CurrentPrincipal 。 Thread.CurrentPrincipal的分配不正确,除非await Task.Yield(); (或其他任何asynchronous)被执行(传递true到AuthenticateAsync()将导致成功)。 这是为什么? using System.Security.Principal; using System.Threading.Tasks; using System.Web.Http; namespace ExampleWebApi.Controllers { public class ValuesController : ApiController { public async Task GetAsync() { await AuthenticateAsync(false); if (!(User is MyPrincipal)) { throw new System.Exception("User is incorrect type."); } } private static async Task AuthenticateAsync(bool yield) { if […]

安装MySQL JDBC驱动程序msi

我已经从http://dev.mysql.com/downloads/connector/j/下载了MySQL的JDBC驱动程序“mysql-connector-java-gpl-5.1.26.msi”。 但我不知道如何使用它。 http://dev.mysql.com/doc/refman/5.6/en/connector-j-binary-installation.html上的文档说这是一个zip文件,它具有所需的jar文件。 但是我得到的是.msi文件。 当我执行msi文件,它只是开始安装和消失。 任何想法如何我可以从MSI的jar文件?

深信仰networking与卷积neural network

我是neural network领域的新手,我想知道Deep Belief Networks和Convolutional Networks之间的区别。 另外,还有深度卷积networking是深信与卷积neural network的结合吗? 这是我迄今为止收集的。 如果我错了,请纠正我。 对于图像分类问题, Deep Beliefnetworking有很多层次,每个层次都是使用贪心层次策略进行训练的。 例如,如果我的图片大小是50 x 50,并且我想要一个包含4个图层的深度networking input层 隐藏层1(HL1) 隐藏层2(HL2) 输出层 为了训练input层和HL1之间的权重(W1),我的input层将有50 x 50 = 2500个神经元,HL1 = 1000个神经元(比方说),HL2 = 100个神经元(比方说),输出层= 10个神经元。使用自动编码器(2500 – 1000 – 2500),并学习大小为2500 x 1000的W1(这是无监督学习)。 然后,我通过第一个隐藏层向前馈送所有图像以获得一组特征,然后使用另一个自动编码器(1000 – 100 – 1000)获取下一组特征,最后使用softmax图层(100 – 10)进行分类。 (只学习最后一层的权重(HL2 – 作为softmax层的输出)是监督学习)。 (我可以使用RBM代替autoencoder)。 如果使用卷积neural network解决同样的问题,那么对于50×50的input图像,我将只使用7×7的补丁(比如说)来开发一个networking。 我的层将是 input层(7 x 7 = 49个神经元) HL1(25个不同特征的25个神经元) […]