据我所知,当您按存储库查询数据库时,您将获得PersistentCollection,当您使用实体时,您将获得ArrayCollection.
所以考虑我的用户实体有一对多的自引用关系.
在我的用户实体中,我有一个setChildren方法,它将用户的ArrayCollection作为参数.
<?php
namespace UserBundle\Entity;
use Abstracts\Entity\BaseModel;
use CertificateBundle\Entity\Certificate;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use EducationBundle\Entity\Education;
use LanguageBundle\Entity\Language;
use PostBundle\Entity\Post;
use ProfileBundle\Entity\Company;
use RoleBundle\Entity\Role;
use SkillBundle\Entity\Skill;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* User
*
* @ORM\Table(name="users")
* @ORM\Entity(repositoryClass="UserBundle\Repository\Entity\UserRepository")
* @UniqueEntity("email")
* @UniqueEntity("username")
*/
class User implements UserInterface
{
use BaseModel;
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="type", type="string", columnDefinition="ENUM('merchant', …Run Code Online (Sandbox Code Playgroud) 好吧,当我正在做一些事情,我需要在我的应用程序中配置操作栏我从http://developer.android.com开始 ,我发现我在找什么
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);}
Run Code Online (Sandbox Code Playgroud)
加入后的当然
<activity
android:name="com.example.myfirstapp.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.myfirstapp.MainActivity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
</activity>
Run Code Online (Sandbox Code Playgroud)
和
@Override
public void onCreate(Bundle savedInstanceState) {
...
getActionBar().setDisplayHomeAsUpEnabled(true);
}
Run Code Online (Sandbox Code Playgroud)
我做了所有这些但是在我的程序中我按下操作栏中的向上按钮程序崩溃,这里是logcat
09-04 12:54:02.087: E/AndroidRuntime(11033): FATAL EXCEPTION: main
09-04 12:54:02.087: E/AndroidRuntime(11033): java.lang.IllegalArgumentException: Activity LegendActivity does not have a parent activity name specified. …Run Code Online (Sandbox Code Playgroud) 我试图使用以下命令安装mono,
sudo apt-get install mono-*不幸的是,我在安装时关闭了终端.我再次开始重新安装,但显示错误
无法获取锁/ var/lib/dpkg/lock - 打开(11:资源暂时不可用)
我尝试下面的命令解决方案,
sudo rm /var/lib/apt/lists/locksudo rm /var/cache/apt/archives/lock但现在我得到的错误就像
dpkg被中断,你必须手动运行'sudo dpkg --configure -a'来解决问题.
我该如何解决这个问题?
我想要做的就是如图所示"

我想删除这个分隔符.我正在使用android内置操作栏.我不想使用Sherlock Action Bar.我必须使用android动作栏.
我试图将它添加到我的样式但它不起作用
<style name="MyDropDownNav" parent="android:style/Theme.Holo.Light">
<item name="android:dropDownSelector">@drawable/ic_launcher</item>
<item name="android:divider">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)
你有什么建议吗?
这是我的项目结构
- src
- main
- java
- mypackage
- resources
- config
application.yml
Run Code Online (Sandbox Code Playgroud)
我在application.yml中有这个
document:
templates:
filetypes:
- elem1
- elem2
- elem3
- elem4
hello:
test: "hello"
Run Code Online (Sandbox Code Playgroud)
在我的端点中,我有以下内容
@Value("${document.templates.filetypes}")
List<String> templatesFileTypes;
@Value("${document.hello.test}")
String hello;
Run Code Online (Sandbox Code Playgroud)
在任何函数中,我都可以访问类似文件,System.out.println(hello) 并且它可以正常工作,但是对于fileTypes来说,它甚至没有编译,并且我收到此错误:
创建名称为'configurationEndPoint'的bean时出错:自动连接依赖项的注入失败;嵌套异常是java.lang.IllegalArgumentException:无法解析值“ $ {document.templates.filetypes}”中的占位符“ document.templates.filetypes”
搜索了很多,我找到的每个解决方案都是指向写入application.yml / application.xml文件,在我的情况下这是无效的,因为我可以读取其他测试字符串,但不能读取数组。
我试过String[]我试过,ArrayList<String>但我无法使它正常工作
我知道如何检查 a 的嵌套对象的方法有很多NullPointerException,对于 Java 8 最简单的是应用Optional<param>. 或者使用简单的 if 代码,例如
if(foo.bar() != null && foo.getBar().getObject()!=null){
foo.getBar().getObject().getWhatever();
}
Run Code Online (Sandbox Code Playgroud)
好吧,我的问题是,有没有一种简单的方法可以在不知道内部类/方法的名称的情况下在一种方法中做到这一点
更清楚地说,我有一个像这样的代码
contract.getContactInfo().getPosition()
contract.getEntitledPerson().getEmail()
Run Code Online (Sandbox Code Playgroud)
我想做这样的例子
excel.setCell(name1,contract.getContactInfo().getPosition());
excel.setCell(name2,contract.getEntitledPerson().getEmail());
Run Code Online (Sandbox Code Playgroud)
如果它只用于 2 个嵌套对象或仅 2 个 setter,那很好,但如果它用于 50 个 Excel 单元格,有时有 5 或 6 个嵌套对象,那么这样做真是一场噩梦
比如 setCell 方法
public setCell(String name,Object object){
return object; // make sure no nested object is null
}
Run Code Online (Sandbox Code Playgroud)
我希望我的问题足够清楚。请记住,我不能简单地更改嵌套对象,因为它是遗留代码并在很多地方使用!有任何想法吗 ?
我环顾四周太久没有运气。我的情况是我有一个有点大的表 +60 列,它在 Doctrine Entity 中表示。在 FosREST 上工作,我想要实现的是我想发送一个带有特定数据的 JSON,例如
[phone] => new_phone
[name] => new_name
[id] => 1
Run Code Online (Sandbox Code Playgroud)
虽然就像我说的,实体包含超过 60 列,如地址、图片、类别等...
电话、姓名和身份证不是我每次都想更改的,但我每次都想更改一些列。所以有时我可能想更新电话和姓名,其他时候我想第三次更改类别我想更改类别、照片和地址,所以有这样的吗?
$entity->update($parameters);
Run Code Online (Sandbox Code Playgroud)
如前所述, $parameters 是动态更改的。附:我知道我可以用类似的东西构建一个很长的函数
if(isset($parameters['name']){
$entity->setName($parameters['name']);
}
Run Code Online (Sandbox Code Playgroud)
但是对于 60 ifs,这听起来很愚蠢,有人有其他方法吗?谢谢
任何人都有最好的想法在线和离线工作Android应用程序?另外,如何管理与本地数据库的服务器端数据同步?