小编Tom*_*mes的帖子

如何锁定表...做事...使用 Spring Boot 解锁表?

这个想法基本上是用自定义功能扩展一些存储库。所以我得到了这个设置,它确实有效!

@MappedSuperclass
abstract class MyBaseEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    var id: Int = 0

    var eid: Int = 0

}

interface MyRepository<T : MyBaseEntity> {

    @Transactional
    fun saveInsert(entity: T): Optional<T>
}

open class MyRepositoryImpl<T : MyBaseEntity> : MyRepository<T> {

    @Autowired
    private lateinit var entityManager: EntityManager

    @Transactional
    override fun saveInsert(entity: T): Optional<T> {

        // lock table
        entityManager.createNativeQuery("LOCK TABLE myTable WRITE").executeUpdate()

        // get current max EID
        val result = entityManager.createNativeQuery("SELECT MAX(eid) FROM myTable LIMIT 1").singleResult as? Int ?: 0 …
Run Code Online (Sandbox Code Playgroud)

java spring jpa spring-data-jpa spring-boot

6
推荐指数
1
解决办法
8224
查看次数

REST:当一个请求改变多个实体的状态时返回什么?

REST 服务有两个节点

GET/items返回项目列表:

[
  {
    "id": 34,
    "name": "apple",
    "available_amount" : 10
  },
  {
    "id": 37,
    "name": "banana",
    "available_amount" : 30
  },
  ...
]
Run Code Online (Sandbox Code Playgroud)

POST/orders使用请求的项目创建订单(假设我们在这里订购 6 个苹果)并返回订单:

{
  "id": 12337,
  "items": [
    {
      "id": 34,
      "name": "apple",
      "ordered_amount": 6
    }    
  ]
}
Run Code Online (Sandbox Code Playgroud)

我如何将创建的订单通知客户端应用程序,该订单也减少了available_amount4因为6苹果已售出。

我是否将受影响的资源与order结果一起返回,以便客户端知道要更新什么?

像节点路径:

{
  "id": 12337,
  "items": [
    {
      "item_id": 34,
      "ordered_amount": 6
    }
  ],
  "affected_resources" : [
    "/items/34"
  ]
}
Run Code Online (Sandbox Code Playgroud)

甚至完全改变的资源:

{
  "id": 12337,
  "items": …
Run Code Online (Sandbox Code Playgroud)

rest restapi

5
推荐指数
2
解决办法
166
查看次数

我可以在使用gradle时从AndroidManifest中删除com.google.android.gms.version吗?

我想知道我是否可以安全地删除此行:

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)

当我使用gradle构建我的APK时,从我的AndroidManifest.xml.

根据网站https://developers.google.com/android/guides/setup,只有当我选择"ECLIPSE WITH ADT"时,我必须添加此行.对于"ANDROID STUDIO"用法,没有提及.

但在我的情况下,我使用Eclipse(使用ADT)作为IDE,但我使用gradle构建.(实际上它是一个libGDX项目).所以我使用gradle添加了play-services:

compile "com.google.android.gms:play-services:8.1.0"
Run Code Online (Sandbox Code Playgroud)

所以我在测试设备上运行应用程序,我测试了使用play-services登录,并且在我的AndroidManifest.xml中没有上面的行就可以正常工作

但是,也许登录只是不需要"com.google.android.gms.version"值而播放服务lib的另一部分需要它吗?但我无法测试使用lib的所有可能方法.

有人知道吗?

或者对于那些使用Android Studio +播放服务的人:您的AndroidManifest.xml是否具有以上行?

android libgdx google-play-services

4
推荐指数
1
解决办法
2794
查看次数

MailChimp API 3.0 中“时间框架”的正确语法是什么

我想使用 MailChimp API 3.0:

http://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/#

如何设置的查询字符串参数字段since_timestamp_optbefore_timestamp_optsince_last_changedbefore_last_changed

它是一个timestamp,像这样的:2016-03-08 17:50:41还是别的什么?

有人可以举个例子吗?

mailchimp mailchimp-api-v3.0

4
推荐指数
1
解决办法
2086
查看次数

我如何将一个存储库注入CommandController

我有一个这样的commandController(使用TYPO3 6.1):

class MyCommandController extends \TYPO3\CMS\Extbase\Mvc\Controller\CommandController {
    /**
     * fileRepository
     *
     * @var \VENDOR\MyExt\Domain\Repository\FileRepository
     * @inject
     */
    protected $fileRepository;
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试演员

$this->fileRepository->findAll();
Run Code Online (Sandbox Code Playgroud)

我得到:

Fatal error: Call to a member function findAll() on a non-object in
Run Code Online (Sandbox Code Playgroud)

看起来像@inject一样不会自动注入repostory,就像它在ActionControllers中一样.

我如何手动注入存储库?

typo3 extbase

3
推荐指数
2
解决办法
5328
查看次数